#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os;

print """
通过创建一个新的异常类，程序可以命名它们自己的异常。异常应该是典型的继承自Exception类，通过直接或间接的方式。
以下为与RuntimeError相关的实例,实例中创建了一个类，基类为RuntimeError，用于在异常触发时输出更多的信息。
在try语句块中，用户自定义的异常后执行except块语句，变量 e 是用于创建Networkerror类的实例。
    class Networkerror(RuntimeError):
        def __init__(self, arg):
            self.args = arg
在你定义以上类后，你可以触发该异常，如下所示：

    try:
        raise Networkerror("Bad hostname")
    except Networkerror,e:
        print e.args


#This is note foe exception

try：
  code    #需要判断是否会抛出异常的代码，如果没有异常处理，python会直接停止执行程序

except:  #这里会捕捉到上面代码中的异常，并根据异常抛出异常处理信息
#except ExceptionName，args：    #同时也可以接受异常名称和参数，针对不同形式的异常做处理

  code  #这里执行异常处理的相关代码，打印输出等


else：  #如果没有异常则执行else

  code  #try部分被正常执行后执行的代码

finally：
  code  #退出try语句块总会执行的程序
===============================================
eg:


"""

#函数中做异常检测
def try_exception(num,str1):
  try:
    return  int(num) and float(str1)
  except ValueError,arg:
    print arg,"is not a number"
  else:
    print "this is a number inputs"


print try_exception('xxx',2)
